package com.hospital.dao;

import com.hospital.dto.DignoseLogDto;
import com.hospital.dto.LogisticsStateDto;
import com.hospital.entity.Admin;
import com.hospital.entity.Medicine;
import com.hospital.entity.User;
import com.hospital.vo.BarVo;
import com.hospital.vo.PriceVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author fxy
 * @date 2022/8/28
 */
public interface UserDao {

    /**
     * 添加一条用户信息
     * @return
     */
    int add(User user);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    int update(User user);

    /**
     * 删除用户信息
     * @param id 要删除的用户id;
     * @return
     */
    int delete(int id);

    /**
     * 查询总条数 带条件*/
    long selectCount(String name);
    /**
     * 查询数据 分页 limit 带条件*/
    List<User> selectPage(@Param("name") String name, @Param("start") int start, @Param("size") int size);
    /**
     * 查询单条数据*/
    User selectOne(User user);

    /**
     * 修改用户余额
     */

    int updatesurplus(@Param("id") int id,@Param("surplus") double surplus);

    /**
     * 批量添加用户数据
     */
    int updateBatch(List<User> list);

    /**
     * 查询所有的数据
     */
    List<User> select();

    /**
     * 查询所有的数据
     */
    User querysurplus(int id);


    /**
     * 批量删除数据
     */
    int del(int[] id);


//    /**
//     * 多表查询诊断记录总条数 带条件*/
//    long queryDigLogCount(String name);
//    /**
//     * 多表查询诊断记数据 分页 limit 带条件*/
//    List<User> queryDigLog(@Param("name") String name, @Param("start") int start, @Param("size") int size);

    long queryCount(@Param("symptom") String symptom,@Param("id") int id);
    /**
     * 多表查询诊断记数据 分页 limit 带条件*/
//    DignoseLogDto queryLog();
    /**
     * 多表查询诊断记数据 分页 limit 带条件*/
    List<DignoseLogDto> queryLog(@Param("symptom") String symptom,@Param("start") int start, @Param("size") int size,@Param("id") int id);

    List<DignoseLogDto> queryalllog();

    List<PriceVo> selectPrice();

    int updateimg(@Param("id") Integer id,@Param("url") String url);



}
